//笔试强训:数组中的最长连续子序列

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * max increasing subsequence
     * @param arr int整型vector the array
     * @return int整型
     */
    int MLS(vector<int>& arr) {
        // write code here
        sort(arr.begin(), arr.end());
        int tmp = 1, ans = 1, n = arr.size();
        for(int i = 0; i < n - 1; i++)
        {
            while(i < n - 1 && arr[i + 1] == arr[i] + 1 || arr[i + 1] == arr[i])
            {
                if(arr[i + 1] == arr[i] + 1)
                    tmp++; 
                i++;
            }
            if(tmp > ans)
                ans = tmp;
            tmp = 1;
        }
        return ans;
    }
};